Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Поліноміальна апроксимація нелінійних характеристик елементів.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2008
Тип роботи:
Курсова робота
Предмет:
Моделювання процесів та елементів систем керування
Група:
КС-43
Варіант:
20

Частина тексту файла

Міністерство освіти і науки України Національний університет “Львівська політехніка”  Звіт про виконання лабораторної роботи № 1 з дисципліни: „Моделювання процесів та елементів систем керування” на тему: „ Поліноміальна апроксимація нелінійних характеристик елементів ” Варіант № 20 Виконав: студент групи КС-43 Перевірив: Павельчак А.Г. Львів 2008 Мета роботи – вивчити методи наближення нелінійних характеристик елементів систем керування поліноміальними функціями, а саме: поліномами Лагранжа, Тейлора та кубічними сплайнами; навчитися записувати програми у вигляді універсальних процедур для апроксимації нелінійних характеристик. Завдання Завдання для лабораторної роботи дають із зазначенням номера апроксимуючої функції та варіанта чисельних значень координат вузлів апроксимації. В даній роботі необхідно виконати апроксимацію кривої намаґнечування. Крива намаґнечування задається двома точками, що відділяють лінійні зони від нелінійної (рис. 1). Координати цих точок позначені А(і1, 1), В(і2, 2). Для того, щоб виконати апроксимацію ділянки АВ поліномом, необхідні ще значення похідних в точках А, В. Для першої точки (А) похідна визначається безпосередньо за значеннями функції і аргументу у вузлі m1 = i1/1, а для другої точки (В) похідна m2 задана. Тоді рівняння лінійної ділянки ОА визначається рівнянням прямої, що проходить через початок координат i() = m1 Рівняння ділянки ВС описує зону насичення феромаґнетного осердя яку також можна вважати лінійною, тому i() = m2 + i0, де вільний член і0 визначаємо за формулою i0 = i2 - m22 . Таким чином, криву намаґнечування апроксимуємо виразом з вибором розрахункової формули, в якій є два рівняння прямої і одна нелінійна функція  Вирази для апроксимуючих функцій 4.  Варіанти чисельних значень вузлів апроксимації Таблиця 1 N п/п       6 1.7 17 5.1 91 11   Блок-схема  Список ідентифікаторів констант, змінних, процедур і функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення. h1 – крок табулювання. a0, a1,a2,a3 – коефіцієнти апроксимуючої функції. i1=i1,i2=i2,si1=Ψ1,si2= Ψ2,m1,m2,h – задані велечини. Ψ – змінна величина. Текст програми Форма  Програма #include <vcl.h> #include <math.h> #include <dstring.h> #include <stdio.h> #include <windows.h> #include <string.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; double x1, x2,y1,y2,m2,h,start,finish; double a[4]; double Matrix[4][4]; double Y[4]; double X[4]; //--------------------------------------------------------------------------- void gaus(void) { double V[4][4], C[4][4],P[4]; int i,j,k; double DY; for(i=0;i<4;i++) { P[i]=Y[i]; for (j=0;j<4;j++) V[i][j]=Matrix[i][j]; } for (k=0;k<4;k++) { Y[k]=P[k]/V[k][k]; for (i=k+1; i<4; i++) { P[i]=P[i]-V[i][k]*Y[k]; for (j=k+1; j<4; j++) { C[k][j]=V[k][j]/V[k][k]; V[i][j]=V[i][j]-V[i][k]*C[k][j]; } } } a[3]=Y[3]; for(i=4-2;i>=0;i--) { DY=0; for(j=i+1; j<4; j++) DY+=C[i][j]*a[j]; a[i]=Y[i]-DY; } } //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Edit5Change(TObject *Sender) { float A; try { A=StrToFloat(Edit5->Text); x2=A; } catch (EConvertError&) { ShowMessage("Ви ввели помилкове число, повторіть ввід"); } A=A*1.1; Edit11->Text=FloatToStr(A); } //--------------------------------------------------------------------------- void __fastcall TForm1::Edit1Change(TObject *Sender) { try { x1=StrToFloat(Edit1->Text); } catch (EConvertError&) { ShowMessage("Ви ввели помилкове число, повторіть ввід "); } } //-------------------------------------------------------...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини